home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #119 (1991-03)(Amiga User Group Deutschland e.V.).zip / Franz PD Disk #119 (1991-03)(Amiga User Group Deutschland e.V.).adf / AmigaBASIC_Programme / Binär (.txt) < prev    next >
AmigaBASIC Source Code  |  1989-07-03  |  1KB  |  30 lines

  1. '              *** Binär - Hexadezimal / Dezimal - Wandlung ***
  2. '              *                                              *
  3. '              *          © 1990 by Michael Gottwald          *
  4. '              ************************************************
  5.  
  6.         DEFDBL dez,Ldez,HighWort:PRINT "Maximal 32 Bits !":PRINT
  7. Eingabe: INPUT "Binärzahl ";b$:IF b$="" OR LEN(b$)<2 THEN Eingabe
  8.           FOR i%=LEN(b$) TO 1 STEP -1:z$=MID$(b$,i%,1)
  9.            IF z$="1" THEN dez=dez+2^e:e=e+1
  10.             IF z$="0" THEN e=e+1
  11.              NEXT:IF e>32 THEN PRINT "Mehr als 32 Bits !!!":END
  12.             IF e>16 THEN Langwort
  13.            h$=HEX$(dez):h$="$"+STRING$(4-LEN(h$),"0")+h$
  14. Ausgabe:  PRINT:PRINT "%";b$;"  =  ";dez;"  =  ";h$:PRINT
  15.          PRINT "Das ist eine";e;CHR$(8);"-Bit-Zahl";
  16.         IF e=4 THEN PRINT " (Nibble);
  17.        IF e=8 THEN PRINT " (Byte)";
  18.       IF e=16 THEN PRINT " (Wort)";
  19.      IF e=32 THEN PRINT " (Langwort)";
  20.     PRINT ".":END   
  21.  
  22. Langwort: Ldez=-(5.46559e-315-dez):LowWort=Ldez AND 65535:Low$=HEX$(LowWort)
  23.          IF LEN(Low$)<4 THEN Low$=STRING$(4-LEN(Low$),"0")+Low$
  24.         HighWort=Ldez AND -65536
  25.        HighWort%=HighWort/65536:High$=HEX$(HighWort%)
  26.       IF LEN(High$)<4 THEN High$=STRING$(4-LEN(High$),"0")+High$
  27.      h$="$"+High$+Low$:GOTO Ausgabe   
  28.                         
  29.  
  30.